package com.tencent.iov.cowin.befsale.clue.dao.http.mdquery.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.software.common.model.request.ScrmBaseRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 查询_Request层
 *
 * @author shaohua.yuan
 * @version 1.0
 * @created 2021-08-03 14:06:43
 */
@Data
@ApiModel(description = "外部联系人基本信息表_Request层")
public class QueryCustomerBaseRequest extends ScrmBaseRequest {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", example = "1")
    private Long id;
    /**
     * oneid用户表id
     */
    @ApiModelProperty(value = "oneid用户表id", example = "stringValue")
    private Long oneId;

    @ApiModelProperty(value = "empId",example = "stringValue")
    private Long empId;
    /**
     * 外部联系人的userid
     */
    @ApiModelProperty(value = "外部联系人的userid", example = "stringValue")
    private String externalUserid;
    /**
     *
     */
    @ApiModelProperty(value = "", example = "stringValue")
    private String name;

    @ApiModelProperty(value = "手机号")
    private String phone;
    /**
     * 企业成员
     */
    @ApiModelProperty(value = "企业成员", example = "企业成员")
    private String memberCompanies;


    @ApiModelProperty(value = "成员组织id", example = "成员组织id")
    private String orgId;

    @ApiModelProperty(value = "添加类型")
    private String addWay;
    /**
     * 外部联系人头像，第三方不可获取
     */
    @ApiModelProperty(value = "外部联系人头像，第三方不可获取", example = "stringValue")
    private String avatar;
    /**
     * 外部联系人的类型，1表示该外部联系人是微信用户，2表示该外部联系人是企业微信用户
     */
    @ApiModelProperty(value = "外部联系人的类型，1表示该外部联系人是微信用户，2表示该外部联系人是企业微信用户", example = "1")
    private Integer type;
    /**
     * 外部联系人性别 0-未知 1-男性 2-女性
     */
    @ApiModelProperty(value = "外部联系人性别 0-未知 1-男性 2-女性", example = "1")
    private Integer gender;
    /**
     * 外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户，且企业或第三方服务商绑定了微信开发者ID有此字段
     */
    @ApiModelProperty(value = "外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户，且企业或第三方服务商绑定了微信开发者ID有此字段", example = "stringValue")
    private String unionid;
    /**
     * 外部联系人的职位，如果外部企业或用户选择隐藏职位，则不返回，仅当联系人类型是企业微信用户时有此字段
     */
    @ApiModelProperty(value = "外部联系人的职位，如果外部企业或用户选择隐藏职位，则不返回，仅当联系人类型是企业微信用户时有此字段", example = "stringValue")
    private String position;
    /**
     * 外部联系人所在企业的简称，仅当联系人类型是企业微信用户时有此字段
     */
    @ApiModelProperty(value = "外部联系人所在企业的简称，仅当联系人类型是企业微信用户时有此字段", example = "stringValue")
    private String corpName;
    /**
     * 外部联系人所在企业的主体名称，仅当联系人类型是企业微信用户时有此字段
     */
    @ApiModelProperty(value = "外部联系人所在企业的主体名称，仅当联系人类型是企业微信用户时有此字段", example = "stringValue")
    private String corpFullName;
    /**
     * 部联系人的自定义展示信息，可以有多个字段和多种类型，包括文本，网页和小程序，仅当联系人类型是企业微信用户时有此字段，字段详情见
     */
    @ApiModelProperty(value = "部联系人的自定义展示信息，可以有多个字段和多种类型，包括文本，网页和小程序，仅当联系人类型是企业微信用户时有此字段，字段详情见", example = "stringValue")
    private byte[] externalProfile;
    /**
     * 客户主键id-对应主数据org_customer表主键id
     */
    @ApiModelProperty(value = "客户主键id-对应主数据org_customer表主键id", example = "stringValue")
    private Long cusId;
    /**
     * 帐号状态（0：正常、-1：停用)
     */
    @ApiModelProperty(value = "帐号状态（0：正常、-1：停用)", example = "1")
    private Integer status;
    /**
     * 删除标志（0：代表存在、-1：代表删除）
     */
    @ApiModelProperty(value = "删除标志（0：代表存在、-1：代表删除）", example = "1")
    private Integer deleted;
    /**
     * 租户ID
     */
    @ApiModelProperty(value = "租户ID", example = "stringValue")
    private String tenantId;
    /**
     * t_corp表主键id
     */
    @ApiModelProperty(value = "t_corp表主键id", example = "stringValue")
    private String corpId;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", example = "stringValue")
    private String createdBy;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称", example = "stringValue")
    private String createdName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "2020-03-28T13:46:56.711Z")
    private Date createdTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", example = "stringValue")
    private String updatedBy;
    /**
     * 修改人名称
     */
    @ApiModelProperty(value = "修改人名称", example = "stringValue")
    private String updatedName;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", example = "2020-03-28T13:46:56.711Z")
    private Date updatedTime;

    @ApiModelProperty(value = "开始时间", example = "2020-03-28T13:46:56.711Z")

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @ApiModelProperty(value = "结束时间", example = "2020-03-28T13:46:56.711Z")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
}